$(function() {
    // 初始化省市区
    initAddress();
    // 更改省份后的操作
    $("select[name='prov']").change(function() {
        let provCode = $(this).children('option:selected').data('code');
        getCity(provCode);
    });

    // 更改城市后的操作
    $("select[name='city']").change(function() {
        let cityCode = $(this).children('option:selected').data('code');
        getArea(cityCode);
    });

});

function initAddress() {
    var firstProvCode;
    // ajax请求所有省份
    $.get({
        url: "/getProvinces",
        dataType: 'JSON',
        error: (err) => {
            alert('获取省份失败.')
            console.error(err.responseText)
        },
        success: (data) => {
            $.each(data, function(i, d) {
                $("select[name='prov']").append(
                    "<option value='" + d.name + "' data-code='" + d.code + "'>" + d.name
                    + "</option>");
            });
            // 获取第一个省份的名称
            firstProvCode = data[0].code;
            // 根据第一个省份code获取对应城市列表
            getCity(firstProvCode);
        }
    });

}

//获取对应城市列表（里面包括获取第一个城市的区县列表）
function getCity(provCode) {

    var firstCityCode;

    // ajax请求所有市级单位
    $.get({
        url: "/getCities",
        data: {provCode:provCode},
        dataType: 'JSON',
        error: (err) => {
            alert('获取市区失败.')
            console.error(err.responseText)
        },
        success: (data) => {
            // 先清空城市下拉框
            $("select[name='city']").empty();

            $.each(data, function(i, d) {
                $("select[name='city']").append(
                    "<option value='" + d.name + "' data-code='" + d.code + "'>" + d.name
                    + "</option>");
            });

            // 获取第一个城市的code
            firstCityCode = data[0].code;
            // 根据第一个城市code获取对应区县列表
            getArea(firstCityCode);
        }
    })

}

function getArea(cityCode) {

    // ajax请求所有区县单位
    $.get({
        url: '/getAreas',
        data: {cityCode:cityCode},
        dataType: 'JSON',
        error: (err) =>{
            alert('获取地区信息失败.')
            console.error(err.responseText)
        },
        success: (data) => {
            // 先清空区县下拉框
            $("select[name='area']").empty();
            $.each(data, function (i, d) {
                $("select[name='area']").append(
                    "<option value='" + d.name + "' data-code='" + d.code + "'>" + d.name
                    + "</option>");
            });
        }
    })
}

/* 注册 */
$('#btn-register').click(function(){
    // $("#form-usercode").blur()
    // $("#form-password").blur()

        $.ajax({
            url: '/register',
            type: 'POST',
            data: $('#form-register').serialize(),
            dataType: 'JSON',
            error: (err) => {
                alert('注册AJAX请求失败!')
                console.log(err.responseText)
            },
            success: (data) => {
                if(data['code'] == 1) {
                    open_toast('success', data['message'])
                }
                else {
                    $('#form-code').val('')
                    open_toast('fail', data['message'])
                    $('#form-code').focus()
                }
            }
        })
})
// 弹窗关闭后自动跳转首页
$('.toast').bind('hidden.bs.toast', function () {
    window.location="/index.html"
})
/* 页面按键监听 */
$(document).keydown(function(event){
    if (event.keyCode === 13) {//回车键登陆
        $("#btn-register").click();
    }
});